#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll f[400001],ans=0,mod=1e9+7;
int main(){
f[0]=1;
for(int i=1;i<=4e4;i++){
string a=to_string(i);
if(string(a.rbegin(),a.rend())==a){
for(int j=i;j<=4e4;j++)f[j]=(f[j]+f[j-i])%mod;
}
}
int t;
cin>>t;
while(t--){
int n;cin>>n;
cout<<f[n]<<endl;
}
}
1671B - Consecutive Points Segment | 1671C - Dolce Vita |
1669G - Fall Down | 4D - Mysterious Present |
1316B - String Modification | 1204A - BowWow and the Timetable |
508B - Anton and currency you all know | 1672A - Log Chopping |
300A - Array | 48D - Permutations |
677C - Vanya and Label | 1583B - Omkar and Heavenly Tree |
1703C - Cypher | 1511C - Yet Another Card Deck |
1698A - XOR Mixup | 1702E - Split Into Two Sets |
1703B - ICPC Balloons | 1702F - Equate Multisets |
1700A - Optimal Path | 665C - Simple Strings |
1708A - Difference Operations | 1703E - Mirror Grid |
1042A - Benches | 1676B - Equal Candies |
1705B - Mark the Dust Sweeper | 1711A - Perfect Permutation |
1701B - Permutation | 1692A - Marathon |
1066A - Vova and Train | 169B - Replacing Digits |